/*
 * Shell.h
 *
 *  Created on: 2 mars 2012
 *      Author: Jeff
 */

#ifndef SHELL_H_
#define SHELL_H_

#include "Buffer.hpp"
#include "Parsing.hpp"
#include "ArgumentHandler.hpp"
#include "CommandHandler.hpp"

#define SHELL_MSG_SYNTAXERROR "SYNTAX ERROR";
#define SHELL_MSG_OK "OK";
#define SHELL_MSG_CMDNOTFOUND "Command not found";

class Shell {
public:
	Buffer * buffer;
	Parser * parser;
	ArgumentHandler * argHdl;
	CommandHandler * cmdHdl;
	struct CommandEnv currentEnv;
	int currentCmd;
	Shell();
	void setup();
	void loop();
};

#endif /* SHELL_H_ */
